Checking method for electronic device and computer program product thereof

ABSTRACT

A checking method for electronic device includes receiving a fast boot signal and entering into a fast boot stage in response to the fast boot signal. The fast boot stage includes executing a part of bootstrap program, reading machine information of an electronic device after the execution of the part of bootstrap program is finished, driving an output module of the electronic device, outputting an external signal by the output module according to the machine information, and staying in the fast boot stage after the external signal is output.

CROSS-REFERENCES TO RELATED APPLICATIONS

This non-provisional application claims priority under 35 U.S.C. §119(a)on Patent Application No. 105104828 filed in Taiwan, R.O.C. on 2016 Feb.18, the entire contents of which are hereby incorporated by reference.

BACKGROUND

Technical Field

The instant disclosure relates to an unpacking detection for electronicdevice, in particular, to a checking method for electronic device and acomputer program product thereof.

Related Art

Along with the technology innovations, electronic devices with diversefunctions are developed continuously and become an essential part inhumans' daily life. Electronic devices, like smart phones, portablenavigation devices (PND), digital cameras, notebooks, tablets, IPcameras, or event data recorders (EDR), are frequently and commonly usedby people due to the conveniences provided by the electronic devices.

Electronic device factories have many testing stations for checking ifthe software or hardware of the electronic device runs normally and ifthe serial number, the version, or other information of the electronicdevice is correct during the manufacturing of the electronic device.

Theoretically, the inspection of the functions and the data of thesoftware/hardware can be finished in the operating system stage (forexample, Windows, Mac OSX, Unix, Android, iOS, Mango, Apollo, etc.).However, in practice, after the inspection of the electronic device isfinished, the electronic device has to be reset and restored to itsinitial state where those temporary data required by the inspection areremoved.

Besides the tests during the manufacturing of the electronic device,there is an out of box (OOB) inspection procedure for the electronicdevice before the electronic device leaves the factory. In the out ofbox inspection procedure, a boxed electronic device is taken out of thebox and boot to load its operating system for checking if the machineinformation of the electronic device is correct again. When theelectronic device is boot for the first time, the electronic deviceexecutes a detection procedure and stores related settings. However,some electronic devices are designated to be write-once only based ontheir using requirements, the setting of these write-once only devicescannot be renewed. As a result, electronic devices with write-once onlydesign cannot execute the out of box inspection procedure, and qualitiesof the electronic devices cannot be ensured.

SUMMARY

In view of these, in one embodiment, a checking method for electronicdevice comprises: receiving a fast boot signal and entering into a fastboot stage in response to the fast boot signal. Wherein, the fast bootstage comprises: executing a part of a bootstrap program; readingmachine information of an electronic device after the execution of thepart of the bootstrap program is finished; driving an output module ofthe electronic device; outputting an external signal by the outputmodule according to the machine information; and staying at the fastboot stage after the external signal is output.

In another embodiment, a computer program product comprises at least oneprogram instruction stored in a computer readable medium. The programinstruction is loaded and executed by an electronic device to cause theelectronic device to implement the checking method according to anyembodiment of the instant disclosure.

Based on the above, the checking method for electronic device and acomputer program product thereof according to any of the forgoingembodiments allows the machine information of an electronic device to bechecked without loading the operating system of the electronic device.Therefore, the quality of the electronic device can be ensured and thesale staff can check the machine information of the electronic deviceconveniently before he or she sells the electronic device.

BRIEF DESCRIPTION OF THE DRAWINGS

The disclosure will become more fully understood from the detaileddescription given herein below for illustration only, and thus notlimitative of the disclosure, wherein:

FIG. 1 illustrates a schematic view of a checking system according anexemplary embodiment of the instant disclosure;

FIG. 2 illustrates a functional block diagram of the checking system ofFIG. 1;

FIG. 3 illustrates a flowchart of a checking method for electronicdevice according to an exemplary embodiment of the instant disclosure;

FIG. 4 illustrates a schematic view of another embodiment of thechecking system;

FIG. 5 illustrates a functional block diagram of one embodiment of thechecking system of FIG. 4;

FIG. 6 illustrates a functional block diagram of another embodiment ofthe checking system of FIG. 4;

FIG. 7 illustrates a flowchart of another embodiment of the checkingmethod for electronic device;

FIG. 8 illustrates a flowchart of yet another embodiment of the checkingmethod for electronic device;

FIG. 9 illustrates a partial flowchart of one embodiment of the checkingmethod for electronic device;

FIG. 10 illustrates a partial flowchart of another embodiment of thechecking method for electronic device;

FIG. 11 illustrates a detailed flowchart of one embodiment of the stepS470;

FIG. 12 illustrates a detailed flowchart of one embodiment of the stepS530;

FIG. 13 illustrates a schematic view of yet another embodiment of thechecking system;

FIG. 14 illustrates a detailed flowchart of another embodiment of thestep S470;

FIG. 15 illustrates a detailed flowchart of another embodiment of thestep S530;

FIG. 16 illustrates a schematic view of further yet another embodimentof the checking system;

FIG. 17 illustrates a detailed flowchart of yet another embodiment ofthe step S470;

FIG. 18 illustrates a detailed flowchart of yet another embodiment ofthe step S530;

FIG. 19 illustrates a schematic view of still yet another embodiment ofthe checking system; and

FIG. 20 illustrates a detailed flowchart of still yet another embodimentof the step S470.

DETAILED DESCRIPTION

FIG. 1 illustrates a schematic view of a checking system according to anexemplary embodiment of the instant disclosure. FIG. 2 illustrates afunctional block diagram of the checking system of FIG. 1. FIG. 3illustrates a flowchart of a checking method for electronic deviceaccording to an exemplary embodiment of the instant disclosure.

Please refer to FIGS. 1 and 2. The checking system comprises anelectronic device 10 to be checked. The electronic device 10 may be aportable electronic device, like a smart phone, a portable navigationdevice (PND), a digital camera, a notebook, a tablet, an IP camera, anevent data recorder (EDR), etc.

The electronic device 10 comprises a processing unit 110, a storage unit130, at least one button 150, and an output module 170. The processingunit 110 is connected to the storage unit 130, the button 150, and theoutput module 170.

In this embodiment, the electronic device 10 has at least two bootmodes. The boot modes include a normal boot mode and a fast boot mode.Under the normal boot mode, the processing unit 110 of the electronicdevice 10 enters into the operating system stage (i.e., executes theoperating system) after the processing unit 110 of the electronic device10 executes a bootstrap program (normal boot stage). Under the fast bootmode, the processing unit 110 of the electronic device 10 does not enterinto the operating system stage (i.e., does not load the operatingsystem) after the processing unit 110 of the electronic device 10executes a part of the bootstrap program (fast boot stage). Theoperating system may be, but not limited to, Windows, Mac OSX, Unix,Android, iOS, Mango, Apollo. In some embodiments, the electronic device10 provides different boot operations for determining the boot modes.For example, but not limited to, a user may long press the power button(one of the buttons 150) of the electronic device 10 alone to allow theelectronic device 10 entering into the normal boot mode, and the usermay long press the power button and the return button (another of thebuttons) at the same time to allow the electronic device 10 enteringinto the fast boot mode.

Please refer to FIG. 3, upon the checking procedure is performed, thebutton 150 of the electronic device 10 is actuated (for example, acombination of certain buttons 150 are pressed) to generate a fast bootsignal to the processing unit 110. The processing unit 110 receives thefast boot signal (step S30) and enters into a fast boot stage inresponse to the fast boot signal (step S40).

Under the fast boot stage (step S40), the processing unit 110 executes apart of a bootstrap program (Step S410). After the execution of the partof the bootstrap program is finished, the processing unit 110 readsmachine information of the electronic device from the storage unit 130of the electronic device 10 (step S430). In addition, the processingunit 110 drives the output module 170 (step S450). Next, the outputmodule 170 outputs an external signal according to the machineinformation (step S470). After the external signal is output, theprocessing unit 110 stays at the fast boot stage (step S470), i.e., theprocessing unit 110 does not execute the operating system.

The machine information may be the model number, the internationalmobile equipment identity (IMEI) number, the device serial number, thetype of the operating system, the version of the operating system, thesoftware number, the core version, the baseband version, theinstallation number, the integrate circuit card identity (ICCID) number,the version of the modern firmware, or any combination thereof.

In some embodiments, the output module 170 may be a screen. In oneembodiment of the step S470, the processing unit 110 controls the screen(the output module 170) to display the machine information, so that aninspector can check the machine information.

In some embodiments, please refer to FIGS. 4 to 7, the checking systemmay further comprise a host end 20. The host end 20 may be a computersystem, for example, a personal computer (PC), a notebook, a tablet,etc. The host end 20 comprises a processing unit 210, a storage unit230, an input module 270, and a screen 290. The processing unit 210 isconnected to the storage unit 230, the input module 270, and the screen290.

The input module 270 of the host end 20 receives the external signaloutput by the electronic device 10 (step S510). Then, the processingunit 210 or the input module 270 generates the machine informationaccording to the external signal (step S530), and the processing unit210 stores the machine information in the storage unit 230 (step S550).

In some embodiments, the electronic device 10 may further comprise ascreen 190 connected to the processing unit 110. Accordingly, besides ofoutputting the external signal to the host end 20 through the outputmodule 170, the processing unit 110 may further control the screen 190to display the machine information. In other words, the electronicdevice 10 may stay at a condition where the screen 190 displays themachine information.

In some embodiments, please refer to FIGS. 4 to 6 and 8, the processingunit 210 of the host end 20 may control the screen 290 to display themachine information after the machine information is generated (stepS570), so that the inspector can check the machine information.

In some embodiments, please refer to FIGS. 4 to 6 and 9, the processingunit 210 compares the machine information with predetermined informationafter the machine information is generated (step S590). If thepredetermined information does not match with the machine information,the processing unit 210 will generate an alert message and output thealert message (step S591). For example, if the predetermined informationdoes not match with the machine information, the processing unit 210allows a window with the alert message to be displayed (i.e., to displaythe alert message) on the screen 290 or controls the speaker of the hostend 20 to produce alert sounds (i.e., the alert message in anotherembodiment). If the predetermined information matches with the machineinformation, the processing unit 210 will not generate the alert message(step S593) and/or the processing unit 210 controls the screen 290 todisplay the machine information. In other words, if the predeterminedinformation matches with the machine information, in one embodiment, theprocessing unit 210 will not generate the alert message; in anotherembodiment, the processing unit 210 will control the screen 290 todisplay the machine information; in yet another embodiment, theprocessing unit 210 will not generate the alert message and will controlthe screen 290 to display the machine information.

The predetermined information may be machine information with expectedinformation, and the machine information is input or stored in thestorage unit 230 in advance.

In some embodiments, the output module 170 and the input module 270 mayhave a bidirectional communication function. Please refer to FIGS. 4 to6 and 10, after the machine information is generated, the processingunit 210 generates a shut down command (step S610), and the processingunit 210 sends the shut down command to the output module 170 by theinput module 270 (step S630). The processing unit 110 receives the shutdown command by the output module 170 (step S650), and the processingunit 110 executes a shut down procedure in response to the shut downcommand (step S670) to turn off the electronic device 10.

In some embodiments, when the output module 170 is a wireless module(hereinafter, called a first wireless module), the input module 270 isanother wireless module (hereinafter, called a second wireless module)mating with the first wireless module. The second wireless module may bebuilt in the host end 20 or externally connected to the host end 20. Inone embodiment of the step S470, the first wireless module wirelesslyoutputs (for example, emits or broadcasts) an external signal, so thatthe second wireless module wirelessly received the external signaloutput by the first wireless module.

In addition, as further shown in FIG. 11, in some embodiments of thestep S470, the first wireless module firstly performs an encryptingcomputation to the machine information to generate an encrypted data(step S471). And then, the first wireless module performs a formatconversion to the encrypted data by a wireless transmission technologyto generate the external signal (i.e., the wireless signal) (step S473).Next, the first wireless module wirelessly outputs the external signalto the second wireless module (step S475).

In this embodiment, as further shown in FIG. 12, in some embodiments ofthe step S530, after the second wireless module receives the externalsignal, the second wireless module performs a format conversion to theexternal signal by a wireless transmission technology corresponding tothe first wireless module to generate an encrypted data (step S531). Andthen, the second wireless module performs a decrypting computationcorresponding to the encrypting computation to the encrypted data togenerate the machine information (step S533).

In some embodiments, the first wireless module (the output module 170)and the second wireless module (the input module 270) may use the samewireless transmission technology, and the first wireless module and thesecond wireless module may be infrared modules, Bluetooth modules, Zwavemodules, near-field communication (NFC) modules, Zigbee modules, or WiFimodules. Correspondingly, the wireless transmission technology may beinfrared transmission technology, Bluetooth transmission technology,Zwave transmission technology, near-field communication (NFC)transmission technology, Zigbee transmission technology, or WiFitransmission technology.

In some embodiments, the encrypting computation and the decryptingcomputation utilize the same computation technology. The computationtechnology may be the massage-digest algorithm (MD5), the secure hashalgorithm, the Rivest-Shamir-Aldeman (RSA) encrypting algorithm, or theCaesar Cipher algorithm.

In some embodiments, as shown in FIG. 5 and FIG. 13, when the outputmodule 170 is a screen, the input module 270 may be an image capturingmodule, and the capturing shot of the image capturing module faces thescreen of the electronic device 10. Moreover, the image capturing modulemay be built in the host end 20 or externally connected to the host end20.

Please refer to FIG. 14. In one embodiment of the step S470, theprocessing unit 110 controls the screen (the output module 170) todisplay the machine information (step S477).

Please refer to FIG. 15. In some embodiments of the step S530, the imagecapturing module (the input module 270) take shots to the screen of theelectronic device 10 to capture an image having the external signal (themachine information displayed on the screen) (step S537). And then, theprocessing unit 210 receives the image and performs an image analysis(for example, character recognition) to the image to obtain the externalsignal (the machine information) (step S539).

In some embodiments, as shown in FIGS. 5 and 16, when the output module170 is a light emitting module having one or more light emittingelements, the input module 270 may be an image capturing module and thecapturing shot of the image capturing module faces the light emittingmodule of the electronic device 10. Moreover, the image capturing modulemay be built in the host end 20 or externally connected to the host end20.

Please refer to FIG. 17. In one embodiment of the step S470, theprocessing unit 110 generates a driving signal according to the machineinformation (step S481). And then, the light emitting module is drivenby the driving signal to generate a light signal (step S483). In someembodiments, the storage unit 130 may store a correspondence tablehaving the machine information and the driving signal in advance. In thestep S481, the processing unit 110 can look up the correspondence tableto obtain the driving signal corresponding to the obtained machineinformation. In some embodiments, if the light emitting module has onlyone light emitting element, light signals (in different frequencies ordifferent blinking ways) are performed by the light emitting module torepresent different machine information.

Please refer to FIG. 18. In some embodiments of the step S530, the imagecapturing module (the input module 270) records a video for the lightemitting module of the electronic device 10 to capture sequential imageshaving the external signal (the machine information displayed on thescreen) (step S541). And then, the processing unit 210 receives theimages and performs an image analysis (for example, character analysis)to the images to obtain the machine information (step S543). In thisembodiment, the processing unit 210 analyzes the characters of the lightsignals (the frequency of the light or the blinking way of the light) ofthe sequential images, and converts the light signals back into thecorresponding machine information based on the analysis of the lightsignals.

In some embodiments, as shown in FIGS. 5 and 19, when the output module170 is a USB connecting port, the input module 270 may be another USBconnecting port, and the two USB connecting ports are electricallyconnected with each other by a USB connecting wire 70.

Please refer to FIG. 20. In one embodiment of the step S470, theprocessing unit 110 outputs the machine information to the host end 20through the USB connecting ports (the output module 170 and the inputmodule 270) (step S485).

It is understood that, the order of the steps described in the above isprovided for illustrative purpose, not a limitation. It is understoodthat some the steps may be performed at the same time, or may beexchanged with each other.

In some embodiments, the processing unit 110/210 may be amicroprocessor, a microcontroller, a digital signal processor, amicrocomputer, a central processor, a field programmable gate array, aprogrammable logic device, a state machine, a logic circuit, an analogcircuit, a digital circuit, and/or any equipment based on (analog and/ordigital) control command.

In some embodiments, the storage unit 130/230 may be a single integratedunit or multiple units. The storage unit may be a read only memory, arandom access memory, a volatile memory, a non-volatile memory, a staticmemory, a dynamic memory, a flash memory, and/or any equipment forstoring digital information.

In some embodiments, the light emitting element may be a limitingemitting diode (LED).

In some embodiments, the checking method for electronic device may beimplemented by a computer program product. The computer program productcomprises at least one program instruction. Accordingly, when anelectronic device loads and executes the program instruction, thechecking method for electronic device according to any of the forgoingembodiments can be applied to the electronic device. In someembodiments, the computer program product is a computer readable medium,and the program instruction is stored in the computer readable mediumfor the electronic device to read and load. In some embodiments, theprogram instruction itself may be the computer program product, and theprogram command is transmitted to the electronic device wirely.

Based on the above, the checking method for electronic device and acomputer program product thereof according to any of the forgoingembodiments allows the machine information of an electronic device to bechecked without loading the operating system of the electronic device.Therefore, the quality of the electronic device can be ensured and thesale staff can check the machine information of the electronic deviceconveniently before he or she sells the electronic device.

While the disclosure has been described by the way of example and interms of the preferred embodiments, it is to be understood that theinvention need not be limited to the disclosed embodiments. On thecontrary, it is intended to cover various modifications and similararrangements included within the spirit and scope of the appendedclaims, the scope of which should be accorded the broadestinterpretation so as to encompass all such modifications and similarstructures.

What is claimed is:
 1. A checking method for electronic device,comprising: receiving a fast boot signal; and entering into a fast bootstage in response to the fast boot signal, wherein the fast boot stagecomprises: executing a part of a bootstrap program; reading machineinformation of an electronic device after the execution of the part ofthe bootstrap program is finished; driving an output module of theelectronic device; outputting an external signal by the output moduleaccording to the machine information; and staying at the fast boot stageafter the external signal is output.
 2. The checking method forelectronic device according to claim 1, wherein the output module is awireless module, and wherein the step of outputting the external signalby the output module comprises wirelessly outputting the external signalby the wireless module.
 3. The checking method for electronic deviceaccording to claim 2, wherein the step of outputting the external signalby the output module further comprises: performing an encryptingcomputation to the machine information to generate an encrypted data;and performing a format conversion to the encrypted data by a wirelesstransmission technology to generate the external signal.
 4. The checkingmethod for electronic device according to claim 3, wherein theencrypting computation is performed with one of massage-digest algorithm(MD5), secure hash algorithm, Rivest-Shamir-Aldeman (RSA) encryptingalgorithm, and Caesar Cipher algorithm.
 5. The checking method forelectronic device according to claim 2, wherein the wireless module isan infrared module, a Bluetooth module, a Zwave module, a near-fieldcommunication (NFC) module, a Zigbee module, or a WiFi module.
 6. Thechecking method for electronic device according to claim 1, wherein theoutput module is a light-emitting module, and wherein the step ofoutputting the external signal by the output module comprises:generating a driving signal according to the machine information; anddriving the light-emitting module by the driving signal to generate alight signal.
 7. The checking method for electronic device according toclaim 1, wherein the output module is a screen, and wherein the step ofoutputting the external signal by the output module comprisescontrolling the screen to display the machine information.
 8. Thechecking method for electronic device according to claim 1, wherein theoutput module is a USB connecting port, and wherein the step ofoutputting the external signal by the output module comprises outputtingthe machine information to an external host end through the USBconnecting port.
 9. The checking method for electronic device accordingto claim 1, wherein the fast boot stage further comprises: receiving ashut down command by the output module; and executing a shut downprocedure in response to the shut down command.
 10. The checking methodfor electronic device according to claim 1, further comprising:receiving the external signal by an input module of a host end.
 11. Thechecking method for electronic device according to claim 10, furthercomprising: generating the machine information according to the receivedexternal signal; and storing the machine information in a storage unitof the host end.
 12. The checking method for electronic device accordingto claim 11, further comprising: displaying the generated machineinformation on a screen of the host end.
 13. The checking method forelectronic device according to claim 10, further comprising: generatingthe machine information according to the received external signal;comparing the machine information with a predetermined information; andgenerating and outputting an alert message when the machine informationdoes not match with the predetermined information.
 14. The checkingmethod for electronic device according to claim 10, wherein the inputmodule is an infrared module, a Bluetooth module, a Zwave module, anear-field communication (NFC) module, a Zigbee module, or a WiFimodule.
 15. The checking method for electronic device according to claim14, wherein the step of receiving the external signal by the inputmodule comprises: performing a format conversion to the external signalby a wireless transmission technology to generate an encrypted data; andperforming a decrypting computation to the encrypted data to generatethe machine information.
 16. The checking method for electronic deviceaccording to claim 15, wherein the decrypting computation is performedwith one of massage-digest algorithm, secure hash algorithm, RSAencrypting algorithm, and Caesar Cipher algorithm.
 17. The checkingmethod for electronic device according to claim 10, wherein the inputmodule is an image capturing module, and wherein the step of receivingthe external signal by the input module of the host end comprises:capturing at least one image of the output module by the image capturingmodule; and performing an image analysis to the at least one image toobtain the machine information.
 18. A computer program product,comprising at least one program instruction stored in a computerreadable medium, wherein the at least one program instruction is loadedand executed by an electronic device to cause the electronic device toimplement the checking method according to claim 1.